﻿Module FieldsDictionary

    Public Function SetFuncDict() As List(Of Field)
        Dim A As New List(Of Field)

        A.Add(New Field(1, FieldTypes.TYPE_B, 8, False, 0, 0, "Bit Map Extended "))
        A.Add(New Field(2, FieldTypes.TYPE_N, 0, True, 19, 0, "Primary account number (PAN) "))
        A.Add(New Field(3, FieldTypes.TYPE_N, 6, False, 0, 0, "Processing code "))
        A.Add(New Field(4, FieldTypes.TYPE_N, 12, False, 0, 0, "Amount, transaction "))
        A.Add(New Field(5, FieldTypes.TYPE_N, 12, False, 0, 0, "Amount, Settlement "))
        A.Add(New Field(6, FieldTypes.TYPE_N, 12, False, 0, 0, "Amount, cardholder billing "))
        A.Add(New Field(7, FieldTypes.TYPE_N, 10, False, 0, 0, "Transmission date & time "))
        A.Add(New Field(8, FieldTypes.TYPE_N, 8, False, 0, 0, "Amount, Cardholder billing fee "))
        A.Add(New Field(9, FieldTypes.TYPE_N, 8, False, 0, 0, "Conversion rate, Settlement "))
        A.Add(New Field(10, FieldTypes.TYPE_N, 8, False, 0, 0, "Conversion rate, cardholder billing "))
        A.Add(New Field(11, FieldTypes.TYPE_N, 6, False, 0, 0, "Systems trace audit number "))
        A.Add(New Field(12, FieldTypes.TYPE_N, 6, False, 0, 0, "Time, Local transaction "))
        A.Add(New Field(13, FieldTypes.TYPE_N, 4, False, 0, 0, "Date, Local transaction "))
        A.Add(New Field(14, FieldTypes.TYPE_N, 4, False, 0, 0, "Date, Expiration "))
        A.Add(New Field(15, FieldTypes.TYPE_N, 4, False, 0, 0, "Date, Settlement "))
        A.Add(New Field(16, FieldTypes.TYPE_N, 4, False, 0, 0, "Date, conversion "))
        A.Add(New Field(17, FieldTypes.TYPE_N, 4, False, 0, 0, "Date, capture "))
        A.Add(New Field(18, FieldTypes.TYPE_N, 4, False, 0, 0, "Merchant type "))
        A.Add(New Field(19, FieldTypes.TYPE_N, 3, False, 0, 0, "Acquiring institution country code "))
        A.Add(New Field(20, FieldTypes.TYPE_N, 3, False, 0, 0, "PAN Extended, country code "))
        A.Add(New Field(21, FieldTypes.TYPE_N, 3, False, 0, 0, "Forwarding institution. country code "))
        A.Add(New Field(22, FieldTypes.TYPE_N, 3, False, 0, 0, "Point of service entry mode "))
        A.Add(New Field(23, FieldTypes.TYPE_N, 3, False, 0, 0, "Application PAN number "))
        A.Add(New Field(24, FieldTypes.TYPE_N, 3, False, 0, 0, "Function code(ISO 8583:1993)/Network International identifier (NII) "))
        A.Add(New Field(25, FieldTypes.TYPE_N, 2, False, 0, 0, "Point of service condition code "))
        A.Add(New Field(26, FieldTypes.TYPE_N, 2, False, 0, 0, "Point of service capture code "))
        A.Add(New Field(27, FieldTypes.TYPE_N, 1, False, 0, 0, "Authorizing identification response length "))
        A.Add(New Field(28, FieldTypes.TYPE_N, 8, False, 0, 0, "Amount, transaction fee "))
        A.Add(New Field(29, FieldTypes.TYPE_N, 8, False, 0, 0, "Amount. settlement fee "))
        A.Add(New Field(30, FieldTypes.TYPE_N, 8, False, 0, 0, "Amount, transaction processing fee "))
        A.Add(New Field(31, FieldTypes.TYPE_N, 8, False, 0, 0, "Amount, settlement processing fee "))
        A.Add(New Field(32, FieldTypes.TYPE_N, 0, True, 11, 0, "Acquiring institution identification code "))
        A.Add(New Field(33, FieldTypes.TYPE_N, 0, True, 11, 0, "Forwarding institution identification code "))
        A.Add(New Field(34, FieldTypes.TYPE_N, 0, True, 28, 0, "Primary account number, extended "))
        A.Add(New Field(35, FieldTypes.TYPE_Z, 0, True, 37, 0, "Track 2 data "))
        A.Add(New Field(36, FieldTypes.TYPE_N, 0, True, 104, 0, "Track 3 data "))
        A.Add(New Field(37, FieldTypes.TYPE_AN, 12, False, 0, 0, "Retrieval reference number "))
        A.Add(New Field(38, FieldTypes.TYPE_AN, 6, False, 0, 0, "Authorization identification response "))
        A.Add(New Field(39, FieldTypes.TYPE_AN, 2, False, 0, 0, "Response code "))
        A.Add(New Field(40, FieldTypes.TYPE_AN, 3, False, 0, 0, "Service restriction code "))
        A.Add(New Field(41, FieldTypes.TYPE_ANS, 8, False, 0, 0, "Card acceptor terminal identification "))
        A.Add(New Field(42, FieldTypes.TYPE_ANS, 15, False, 0, 0, "Card acceptor identification code "))
        A.Add(New Field(43, FieldTypes.TYPE_ANS, 40, False, 0, 0, "Card acceptor name/location "))
        A.Add(New Field(44, FieldTypes.TYPE_AN, 0, True, 25, 0, "Additional response data "))
        A.Add(New Field(45, FieldTypes.TYPE_AN, 0, True, 76, 0, "Track 1 Data "))
        A.Add(New Field(46, FieldTypes.TYPE_AN, 0, True, 999, 0, "Additional dataя- ISO "))
        A.Add(New Field(47, FieldTypes.TYPE_AN, 0, True, 999, 0, "Additional dataя- National "))
        A.Add(New Field(48, FieldTypes.TYPE_AN, 0, True, 999, 0, "Additional dataя- Private "))
        A.Add(New Field(49, FieldTypes.TYPE_A, 3, False, 0, 0, "Currency code, transaction "))
        A.Add(New Field(50, FieldTypes.TYPE_AN, 3, False, 0, 0, "Currency code, settlement "))
        A.Add(New Field(51, FieldTypes.TYPE_A, 3, False, 0, 0, "Currency code, cardholder billing "))
        A.Add(New Field(52, FieldTypes.TYPE_B, 16, False, 0, 0, "Personal Identification number data "))
        A.Add(New Field(53, FieldTypes.TYPE_N, 18, False, 0, 0, "Security related control information "))
        A.Add(New Field(54, FieldTypes.TYPE_AN, 120, False, 0, 0, "Additional amounts "))
        A.Add(New Field(55, FieldTypes.TYPE_ANS, 0, True, 999, 0, "Reserved ISO "))
        A.Add(New Field(56, FieldTypes.TYPE_ANS, 0, True, 999, 0, "Reserved ISO "))
        A.Add(New Field(57, FieldTypes.TYPE_ANS, 0, True, 999, 0, "Reserved National "))
        A.Add(New Field(58, FieldTypes.TYPE_ANS, 0, True, 999, 0, "Reserved National "))
        A.Add(New Field(59, FieldTypes.TYPE_ANS, 0, True, 999, 0, "Reserved for national use "))
        A.Add(New Field(60, FieldTypes.TYPE_AN, 0, True, 7, 0, "Advice/reason code (private reserved) "))
        A.Add(New Field(61, FieldTypes.TYPE_ANS, 0, True, 999, 0, "Reserved Private "))
        A.Add(New Field(62, FieldTypes.TYPE_ANS, 0, True, 999, 0, "Reserved Private "))
        A.Add(New Field(63, FieldTypes.TYPE_ANS, 0, True, 999, 0, "Reserved Private "))
        A.Add(New Field(64, FieldTypes.TYPE_B, 16, False, 0, 0, "Message authentication code (MAC) "))
        A.Add(New Field(65, FieldTypes.TYPE_B, 16, False, 0, 0, "Bit map, tertiary "))
        A.Add(New Field(66, FieldTypes.TYPE_N, 1, False, 0, 0, "Settlement code "))
        A.Add(New Field(67, FieldTypes.TYPE_N, 2, False, 0, 0, "Extended payment code "))
        A.Add(New Field(68, FieldTypes.TYPE_N, 3, False, 0, 0, "Receiving institution country code "))
        A.Add(New Field(69, FieldTypes.TYPE_N, 3, False, 0, 0, "Settlement institution county code "))
        A.Add(New Field(70, FieldTypes.TYPE_N, 3, False, 0, 0, "Network management Information code "))
        A.Add(New Field(71, FieldTypes.TYPE_N, 4, False, 0, 0, "Message number "))
        A.Add(New Field(72, FieldTypes.TYPE_ANS, 0, True, 999, 0, "Data record (ISO 8583:1993)/n 4 Message number, last(?) "))
        A.Add(New Field(73, FieldTypes.TYPE_N, 6, False, 0, 0, "Date, Action "))
        A.Add(New Field(74, FieldTypes.TYPE_N, 10, False, 0, 0, "Credits, number "))
        A.Add(New Field(75, FieldTypes.TYPE_N, 10, False, 0, 0, "Credits, reversal number "))
        A.Add(New Field(76, FieldTypes.TYPE_N, 10, False, 0, 0, "Debits, number "))
        A.Add(New Field(77, FieldTypes.TYPE_N, 10, False, 0, 0, "Debits, reversal number "))
        A.Add(New Field(78, FieldTypes.TYPE_N, 10, False, 0, 0, "Transfer number "))
        A.Add(New Field(79, FieldTypes.TYPE_N, 10, False, 0, 0, "Transfer, reversal number "))
        A.Add(New Field(80, FieldTypes.TYPE_N, 10, False, 0, 0, "Inquiries number "))
        A.Add(New Field(81, FieldTypes.TYPE_N, 10, False, 0, 0, "Authorizations, number "))
        A.Add(New Field(82, FieldTypes.TYPE_N, 12, False, 0, 0, "Credits, processing fee amount "))
        A.Add(New Field(83, FieldTypes.TYPE_N, 12, False, 0, 0, "Credits, transaction fee amount "))
        A.Add(New Field(84, FieldTypes.TYPE_N, 12, False, 0, 0, "Debits, processing fee amount "))
        A.Add(New Field(85, FieldTypes.TYPE_N, 12, False, 0, 0, "Debits, transaction fee amount "))
        A.Add(New Field(86, FieldTypes.TYPE_N, 15, False, 0, 0, "Credits, amount "))
        A.Add(New Field(87, FieldTypes.TYPE_N, 15, False, 0, 0, "Credits, reversal amount "))
        A.Add(New Field(88, FieldTypes.TYPE_N, 15, False, 0, 0, "Debits, amount "))
        A.Add(New Field(89, FieldTypes.TYPE_N, 15, False, 0, 0, "Debits, reversal amount "))
        A.Add(New Field(90, FieldTypes.TYPE_N, 42, False, 0, 0, "Original data elements "))
        A.Add(New Field(91, FieldTypes.TYPE_AN, 1, False, 0, 0, "File update code "))
        A.Add(New Field(92, FieldTypes.TYPE_N, 2, False, 0, 0, "File security code "))
        A.Add(New Field(93, FieldTypes.TYPE_N, 5, False, 0, 0, "Response indicator "))
        A.Add(New Field(94, FieldTypes.TYPE_AN, 7, False, 0, 0, "Service indicator "))
        A.Add(New Field(95, FieldTypes.TYPE_AN, 42, False, 0, 0, "Replacement amounts "))
        A.Add(New Field(96, FieldTypes.TYPE_AN, 8, False, 0, 0, "Message security code "))
        A.Add(New Field(97, FieldTypes.TYPE_N, 16, False, 0, 0, "Amount, net settlement "))
        A.Add(New Field(98, FieldTypes.TYPE_ANS, 25, False, 0, 0, "Payee "))
        A.Add(New Field(99, FieldTypes.TYPE_N, 0, True, 11, 0, "Settlement institution identification code "))
        A.Add(New Field(100, FieldTypes.TYPE_N, 0, True, 11, 0, "Receiving institution identification code "))
        A.Add(New Field(101, FieldTypes.TYPE_ANS, 17, False, 0, 0, "File name "))
        A.Add(New Field(102, FieldTypes.TYPE_ANS, 0, True, 28, 0, "Account identification 1 "))
        A.Add(New Field(103, FieldTypes.TYPE_ANS, 0, True, 28, 0, "Account identification 2 "))
        A.Add(New Field(104, FieldTypes.TYPE_ANS, 0, True, 100, 0, "Transaction description "))
        A.Add(New Field(105, FieldTypes.TYPE_ANS, 0, True, 999, 0, "Reserved for ISO use "))
        A.Add(New Field(106, FieldTypes.TYPE_ANS, 0, True, 999, 0, "Reserved for ISO use "))
        A.Add(New Field(107, FieldTypes.TYPE_ANS, 0, True, 999, 0, "Reserved for ISO use "))
        A.Add(New Field(108, FieldTypes.TYPE_ANS, 0, True, 999, 0, "Reserved for ISO use "))
        A.Add(New Field(109, FieldTypes.TYPE_ANS, 0, True, 999, 0, "Reserved for ISO use "))
        A.Add(New Field(110, FieldTypes.TYPE_ANS, 0, True, 999, 0, "Reserved for ISO use "))
        A.Add(New Field(111, FieldTypes.TYPE_ANS, 0, True, 999, 0, "Reserved for ISO use "))
        A.Add(New Field(112, FieldTypes.TYPE_ANS, 0, True, 999, 0, "Reserved for national use "))
        A.Add(New Field(113, FieldTypes.TYPE_N, 0, True, 11, 0, "Authorizing agent institution id code "))
        A.Add(New Field(114, FieldTypes.TYPE_ANS, 0, True, 999, 0, "Reserved for national use "))
        A.Add(New Field(115, FieldTypes.TYPE_ANS, 0, True, 999, 0, "Reserved for national use "))
        A.Add(New Field(116, FieldTypes.TYPE_ANS, 0, True, 999, 0, "Reserved for national use "))
        A.Add(New Field(117, FieldTypes.TYPE_ANS, 0, True, 999, 0, "Reserved for national use "))
        A.Add(New Field(118, FieldTypes.TYPE_ANS, 0, True, 999, 0, "Reserved for national use "))
        A.Add(New Field(119, FieldTypes.TYPE_ANS, 0, True, 999, 0, "Reserved for national use "))
        A.Add(New Field(120, FieldTypes.TYPE_ANS, 0, True, 999, 0, "Reserved for private use "))
        A.Add(New Field(121, FieldTypes.TYPE_ANS, 0, True, 999, 0, "Reserved for private use "))
        A.Add(New Field(122, FieldTypes.TYPE_ANS, 0, True, 999, 0, "Reserved for private use "))
        A.Add(New Field(123, FieldTypes.TYPE_ANS, 0, True, 999, 0, "Reserved for private use "))
        A.Add(New Field(124, FieldTypes.TYPE_ANS, 0, True, 255, 0, "Info Text "))
        A.Add(New Field(125, FieldTypes.TYPE_ANS, 0, True, 50, 0, "Network management information "))
        A.Add(New Field(126, FieldTypes.TYPE_ANS, 0, True, 6, 0, "Issuer trace id "))
        A.Add(New Field(127, FieldTypes.TYPE_ANS, 0, True, 999, 0, "Reserved for private use "))
        A.Add(New Field(128, FieldTypes.TYPE_B, 16, False, 0, 0, "Message Authentication code "))

        Return A
    End Function

End Module
